package com.woniu.user.mapper;

import com.woniu.user.domain.Customer;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 外部用户信息Mapper接口
 * 
 * @author yy
 * @date 2023-04-03
 */
@Mapper
public interface CustomerMapper 
{
    /**
     * 查询外部用户信息
     * 
     * @param customerId 外部用户信息主键
     * @return 外部用户信息
     */
    public Customer selectCustomerByCustomerId(Long customerId);

    /**
     * 查询外部用户信息列表
     * 
     * @param customer 外部用户信息
     * @return 外部用户信息集合
     */
    public List<Customer> selectCustomerList(Customer customer);

    /**
     * 新增外部用户信息
     * 
     * @param customer 外部用户信息
     * @return 结果
     */
    public int insertCustomer(Customer customer);

    /**
     * 修改外部用户信息
     * 
     * @param customer 外部用户信息
     * @return 结果
     */
    public int updateCustomer(Customer customer);

    /**
     * 删除外部用户信息
     * 
     * @param customerId 外部用户信息主键
     * @return 结果
     */
    public int deleteCustomerByCustomerId(Long customerId);

    /**
     * 批量删除外部用户信息
     * 
     * @param customerIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCustomerByCustomerIds(Long[] customerIds);


    Customer selectCustomerByAccountAndPass(@Param("customerAccount") String customerAccount, @Param("customerPassword") String customerPassword);

    Customer queryCustomerByPhone(@Param("phone") String phone);

    void lockTbCustomer(@Param("customerId") Integer customerId);

    void lockTbCustomerTwo(@Param("customerId") Integer customerId);

    void resumeCustomer(@Param("customerId") Integer customerId);
}
